﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace AveitWeb.LoginServise
{
    public class Login
    {
        public static bool Autenticar (String Usuario, String Contraseña)
        {
            //Declaramos la senencia de SQL
            String sql = @"SELECT COUNT(*)
                       FROM Usuario
                       WHERE Username = @usuario AND Contraseña = @password";
            return true;
        }

        public static DataTable prConsultaUsuario(string usuario, string password)
        {
            string sql = @"SELECT UsuarioID
                            FROM Usuario
                            WHERE Username = @Username AND Contraseña = @password";


            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AVEIT"].ToString()))
            {
                SqlCommand command = new SqlCommand(sql, conn);

                command.Parameters.AddWithValue("@Username", usuario);
                string hash = LoginServise.Helper.EncodePassword(string.Concat(usuario, password));
                command.Parameters.AddWithValue("@password", hash);

                conn.Open();
                SqlDataAdapter daAdaptador = new SqlDataAdapter(command);
                DataTable dtDatos = new DataTable();
                daAdaptador.Fill(dtDatos);
                return dtDatos;
            }
        }


        public static void Security(int userid, string usuario, DateTime ultimoacc, string ip)
        {

            //metodo que graba la hora de ingreso del usuario. ver de modificar un poco la base de datos y del metodo
            string sql = @"INSERT INTO UsuarioSecurity(
                            UsuarioID
                           ,Username
                           ,UltimoAcceso
                           ,IPAcceso)
                        VALUES(
                            @UsuarioID,
                            @Username,
                            @UltimoAcceso,
                            @IPAcceso)
                            SELECT SCOPE_IDENTITY()";
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["cadenaConexion"].ToString()))
            {
                SqlCommand command = new SqlCommand(sql, conn);
                command.Parameters.AddWithValue("@UsuarioID", userid);
                command.Parameters.AddWithValue("@Username", usuario);
                command.Parameters.AddWithValue("@UltimoAcceso", ultimoacc);
                command.Parameters.AddWithValue("@IPAcceso", ip);

                conn.Open();

                int resultado = Convert.ToInt32(command.ExecuteScalar());
            }
        }


    }
}